#include <LowMemLight.h>
Public Member Functions | |
LowMemLight (void) | |
~LowMemLight (void) | |
void | setLightDimension (float _length) |
void | setEpsilon (float _epsilon) |
void | setErrorThreshold (float _errorThreshold) |
void | setFilterKernelSize (int _kernelSize) |
void | setFilterSamplingDistance (float _samplingDistance) |
void | setSMBias (float _fSMBias) |
void | setShadowMapSize (int _mapSize) |
void | setLowResShadowMap (int _lowResMapSize) |
void | setErrorMetric (int _errorMetric) |
void | setNbShadowMaps (int _nbMaps) |
void | setCurrentDepthMap (IDirect3DTexture9 *_currentDepthMap) |
void | setCurrentWorldMatrix (D3DXMATRIX *_currentWorldMatrix) |
float | getLightDimension () |
float | getEpsilon () |
float | getErrorThreshold () |
float | getSMBias () |
int | getFilterKernelSize () |
float | getFilterSamplingDistance () |
int | getShadowMapSize () |
int | getLowResShadowMapSize () |
int | getNbShadowMaps () |
IDirect3DTexture9 * | getCurrentDepthMap () |
D3DXMATRIX * | getCurrentWorldMatrix () |
IDirect3DSurface9 * | getLightSumRenderTarget () |
IDirect3DTexture9 * | getLightSumTexture () |
virtual void | getAbsoluteVector (Vector &pOut, Vector &pIn) |
IDirect3DSurface9 * | getErrorSurface () |
IDirect3DTexture9 * | getErrorTexture () |
IDirect3DSurface9 * | getThirdRenderTarget () |
IDirect3DTexture9 * | getThirdTexture () |
void | swapLightSumMaps () |
bool | isErrorOkay (DWORD nbPixels) |
virtual void | calcWorldMatrix (D3DXMATRIX &pMatWorld) |
Protected Member Functions | |
bool | findNextArea (int &x, int &y, float *floatPointer, int pitch) |
void | countAndLabelPixels (int &x, int &y, float *floatPointer, int &maxArea, int &fieldCounter, int pitch) |
LowMemLight::LowMemLight | ( | void | ) |
Constructor for a softshadow light
LowMemLight::~LowMemLight | ( | void | ) |
Destructor for a softshadow light
void LowMemLight::setLightDimension | ( | float | _length | ) |
Sets the dimension of the light
void LowMemLight::setEpsilon | ( | float | _epsilon | ) |
Sets the upper errorbound
void LowMemLight::setErrorThreshold | ( | float | _errorThreshold | ) |
This factor defines how big the difference between to pixels may be, so that they are treated as different ones
void LowMemLight::setFilterKernelSize | ( | int | _kernelSize | ) |
Sets the filter kernel size
void LowMemLight::setFilterSamplingDistance | ( | float | _samplingDistance | ) |
Sets the sampling distance for the filter kernel
void LowMemLight::setSMBias | ( | float | _fSMBias | ) |
Sets the shadowmap bias
void LowMemLight::setShadowMapSize | ( | int | _mapSize | ) |
Sets the shadowmap size
void LowMemLight::setLowResShadowMap | ( | int | _lowResMapSize | ) |
Sets the lowResShadowMap, currently its always the same size as normal shadowMap
void LowMemLight::setErrorMetric | ( | int | _errorMetric | ) |
Sets the errorMetric. Only defualt metric supported
void LowMemLight::setNbShadowMaps | ( | int | _nbMaps | ) |
Sets the number of shadowmaps
void LowMemLight::setCurrentDepthMap | ( | IDirect3DTexture9 * | _currentDepthMap | ) |
Sets the current depthMap
void LowMemLight::setCurrentWorldMatrix | ( | D3DXMATRIX * | _currentWorldMatrix | ) |
Sets the current worldMatrix
float LowMemLight::getLightDimension | ( | ) |
Returns lightDimension
float LowMemLight::getEpsilon | ( | ) |
Returns upper bound epsilon
float LowMemLight::getErrorThreshold | ( | ) |
Returns the error Threshold
float LowMemLight::getSMBias | ( | ) |
Returns shadowmap bias
int LowMemLight::getFilterKernelSize | ( | ) |
Returns the filter kernel size
float LowMemLight::getFilterSamplingDistance | ( | ) |
Returns the sampling distance for the filter kernel
int LowMemLight::getShadowMapSize | ( | ) |
Returns the shadowmap size
int LowMemLight::getLowResShadowMapSize | ( | ) |
Returns the lowres shadowmap size
int LowMemLight::getNbShadowMaps | ( | ) |
Returns the number of shadowmaps
IDirect3DTexture9 * LowMemLight::getCurrentDepthMap | ( | ) |
Returns the current depthmap
D3DXMATRIX * LowMemLight::getCurrentWorldMatrix | ( | ) |
Returns the current world matrix
IDirect3DSurface9 * LowMemLight::getLightSumRenderTarget | ( | ) |
Returns the current lightsum rendertarget
IDirect3DTexture9 * LowMemLight::getLightSumTexture | ( | ) |
Returns the current lightsum texture
void LowMemLight::getAbsoluteVector | ( | Vector & | pOut, | |
Vector & | pIn | |||
) | [virtual] |
Returns the absolute vector for a given inputvector
Reimplemented from Node.
IDirect3DSurface9 * LowMemLight::getErrorSurface | ( | ) |
Returns the error surface (indicator for the error )
IDirect3DTexture9 * LowMemLight::getErrorTexture | ( | ) |
Returns the error Texture
IDirect3DSurface9 * LowMemLight::getThirdRenderTarget | ( | ) |
Returns a third rendertarget
IDirect3DTexture9 * LowMemLight::getThirdTexture | ( | ) |
Returns the third sum texture
void LowMemLight::swapLightSumMaps | ( | ) |
Swaps the light sum textures
bool LowMemLight::isErrorOkay | ( | DWORD | nbPixels | ) |
Checks if a given error is lower between epsilon
void LowMemLight::calcWorldMatrix | ( | D3DXMATRIX & | pMatWorld | ) | [virtual] |
Calcs the World matrix
Reimplemented from Node.
bool LowMemLight::findNextArea | ( | int & | x, | |
int & | y, | |||
float * | floatPointer, | |||
int | pitch | |||
) | [protected] |
Finds the next Area, for the labeling algorithm (not yet implemented)
void LowMemLight::countAndLabelPixels | ( | int & | x, | |
int & | y, | |||
float * | floatPointer, | |||
int & | maxArea, | |||
int & | fieldCounter, | |||
int | pitch | |||
) | [protected] |
Counts the number of pixels of each label (not yet implemented)